package org {
    package focusj {
        package scala {
            //定义一个包对象,包对象必须与子包名称一样
            package object pkg {
                val a = 's'
            }
            package pkg {
                package object Test { //这种情况下也可以使用包对象  
                    val a = "b"
                }
                class Test {
                    print(pkg.a + " " + Test.a)

                    private[scala]/*将可见性扩展到上层*/ def fn1() {
                        scala.Test.fn2 //外层保中的内容对于内层包中是可见的
                    }
                }
            }
            object Test {
                def fn2() {
                    println("outter")
                }
            }
        }
    }
}
package org.focusj.scala.pkg { //阻断了相对包名的使用，起到了部分隔离作用
    package in {
        class Test {
            org.focusj.scala.Test.fn2 //
            //不能上面那样访问
        }
    }
    object TestPackage {
        def main(args: Array[String]) {

        }
    }
}
